This application relates generally to the field of cryptography, and in particular, to systems and methods for key generation and authentication using cryptographic keys.
Some known systems allow compute devices to exchange information and/or messages using public and private key pairs. The sending compute device can encrypt a message using the receiving compute device's public key and can send the encrypted message to the receiving compute device. The receiving compute device can use its private key to decrypt the message. In some instances, the sending compute device can also cryptographically sign a message using the sending compute device's private key. The receiving compute device can verify the sending compute device's signature using the sending compute device's public key. In some known systems, a compute device uses the same public and private key pairs to exchange information with multiple different entities.
In some known systems, a user can use a username and password to authenticate to one or more relying parties. It, however, can be cumbersome to remember various usernames and passwords for multiple relying parties and/or unsecure to reuse the same username and password for multiple relying parties.
Thus, a need exists for a system and method that can generate multiple cryptographic keys that can be used for authentication with one or more relying parties.